﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using TaxiCaosSOAPService.Dominio;
using NHibernate;

namespace TaxiCaosSOAPService.Persistencia
{
    public class DescuentoDAO : BaseDAO<Descuento, int>
    {
        public Descuento ObtenerPorcentajeDescuentoPorCantidadReservas(int cantidad)
        {
            using (ISession sesion = NHibernateHelper.ObtenerSesion())
            {
                string sentenciaSQL = "select d1 from Descuento d1 where d1.Cantidad = (select MAX(d2.Cantidad) from Descuento d2 where d2.Cantidad <= :cantidad)";
                IQuery query = sesion.CreateQuery(sentenciaSQL);
                query.SetParameter("cantidad", cantidad);
                IList<Descuento> lista = query.List<Descuento>();
                
                return (lista.Count > 0) ? lista[0] : null;

            }
        }
    }
}